home *** CD-ROM | disk | FTP | other *** search
- Path: abcfd20.larc.nasa.gov!amiga-request
- From: amiga-request@abcfd20.larc.nasa.gov (Amiga Sources/Binaries Moderator)
- Subject: v90i259: requester.library 1.2 - requester library, Part01/03
- Reply-To: Paul-Erik Raue <peraue@cs.vu.nl>
- Newsgroups: comp.sources.amiga
- Message-ID: <comp.sources.amiga:v90i259@abcfd20.larc.nasa.gov>
- Date: 28 Sep 90 18:45:33 GMT
- Approved: tadguy@uunet.UU.NET (Tad Guy)
- X-Mail-Submissions-To: amiga@uunet.uu.net
- X-Post-Discussions-To: comp.sys.amiga
-
- Submitted-by: Paul-Erik Raue <peraue@cs.vu.nl>
- Posting-number: Volume 90, Issue 259
- Archive-name: libraries/reqlib-1.2/part01
-
- [ uuencoded objects, icons, and sample program included ...tad ]
-
- [ from the read.me ... ]
- Req.library adds user-friendliness to the Amiga's user interface.
- While Intuition does supply requesters, they have certain limitations
- and are awkward to set up. We designed ours to be quick and easy to
- set up, as well as adding features. The text requester has PRINTF
- style formatting built in! There is a colour requester, a very
- powerful file requester, a string requester (allowing the user to
- enter a line of text), and an integer requester (allowing the user to
- enter an integer number). There are also low-level support routines,
- such as routines to create any of the Amiga's gadgets, as well as a
- real-time scroll routine.
-
- #!/bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 3)."
- # Contents: .info.uu ShowOffReq.uu areqglue.o.uu customizefi.uu
- # customizefile.asm lreqglue.o.uu macros.i read.me read.me.uu
- # req.doc.uu req.h reqbase.h reqglue.asm reqproto.h showoffreq.uu
- # Wrapped by tadguy@abcfd20 on Fri Sep 28 14:45:29 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f '.info.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'.info.uu'\"
- else
- echo shar: Extracting \"'.info.uu'\" \(94 characters\)
- sed "s/^X//" >'.info.uu' <<'END_OF_FILE'
- Xbegin 666 .info
- XK\TP`$@``$0T```-]```&!U-H;W=/9F9297$*<F5Q+F1O8PIR96%D+FUE"@``&
- X``
- Xend
- Xsize 43
- END_OF_FILE
- if test 94 -ne `wc -c <'.info.uu'`; then
- echo shar: \"'.info.uu'\" unpacked with wrong size!
- fi
- # end of '.info.uu'
- fi
- if test -f 'ShowOffReq.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'ShowOffReq.uu'\"
- else
- echo shar: Extracting \"'ShowOffReq.uu'\" \(652 characters\)
- sed "s/^X//" >'ShowOffReq.uu' <<'END_OF_FILE'
- Xbegin 666 ShowOffReq.info
- XMXQ```0`````!'``8`#(`%0`%``,``0`C?=``````````````````````````I
- XM`````R,``````````````1@````-```````````````````````R`!4``@`!6
- XMK6@#`````````````````````````````!____``````&```,``````8```PU
- XM`````!@#@#``````&!_P,``````8_'XP`````!@?\#``````&`.`,``````8>
- XM```P`````!@``#`````'G___\\````X`````X```'______P````````````(
- XM`#_____DF```/______X````````````````````````````````````````K
- XM``````!____\`````&````P`````9___S`````!F``#,`````&8#@,P`````]
- XM9AQPS`````!FX`[,`````&8<<,P`````9@.`S`````!F``#,````#^?__\_@F
- XM```?X```#_```#______^```?______\``#_______[``/_______\``____8
- X=___^P`#_______X```````````````````````#_T
- X``
- Xend
- Xsize 434
- END_OF_FILE
- if test 652 -ne `wc -c <'ShowOffReq.uu'`; then
- echo shar: \"'ShowOffReq.uu'\" unpacked with wrong size!
- fi
- # end of 'ShowOffReq.uu'
- fi
- if test -f 'areqglue.o.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'areqglue.o.uu'\"
- else
- echo shar: Extracting \"'areqglue.o.uu'\" \(1794 characters\)
- sed "s/^X//" >'areqglue.o.uu' <<'END_OF_FILE'
- Xbegin 666 areqglue.o
- XM04H``````````````F0````````````?````"0"S`3D!.<``'R!O``1,[P`#P
- XM``A(>/_B8``?`;Y,[P`#``1(>/_<8``!L!M(YS@R3.\`!P`<+&W0`G``'TZN=
- XM_]9,WTP<3G5(YS@R3.\5``<`'"QMT`)P`!].KO_03-],'$YU2.<X,DSO%0<`"
- XM`!PL;=`"<``?3J[_RDS?3!Q.=2!O``1(>!__K&```5P@+P`$2'C_IF``'P%03
- XM(&\`!$AX_T!@``%$2.<=.#(@;P`<3.\`#P`@+&W0`G``'TZN_Z!,WTP<3G5(U
- XMYS@R3.\;!P``'$SO``<`*"QMT`)P`!].KO^:3-],'$YU2.<X,B!O&0`<3.\`Q
- XM#P`@+&W0`G``'TZN_Y1,WTP<3G4@;P`$2'@?_XY@``#B2'C_B&```-I,[Q\#M
- XM`0`$P8A(>/^"8```RB!O'P`$3.\``P`(2'C_?&```+@?(&\`!$SO``,`"$AX\
- XM_W9@`!\`IDCG.#),[PL``!Q,[P`#$P`H+&W0`G``'TZN_W!,WTP<3G5(YS@RB
- XM3.\;#P``'$SO``\`+"QMT`)P`!].KO]J3-],'$YU2.<X,DSO&PD``!Q,[P`?:
- XM`"0L;=`"<``?3J[_9$S?3!Q.=4CG.#),[QL'```<3.\``P`H+&W0`G``'TZN!
- XM_UY,WTP<3G4@;P`$2'@?_UA@(B!O``1(>/]28!@@;Q\`!$AX_TQ@#DSO``,`#
- XM!"!O'P`,2'C_1DAZ`!HO+P`$+TX3``@L;=`"<``?+P`@#M&O``0@'TYU+%]./
- XM=1\@($]K("``0V%N8V5L`%)E'W-U;64``"!O``1#[P`(8!8?(&\`!$/O``A(;
- XMYR`X1?K_TA]'^O_58`I(YR`XE<I'^O_0$2QMT`)P`!^>_``N*$]T%D)<4<K_O
- XM_"Z('R])``0O2@`0+TL`%#]\__\?`!P@3TZN_U+>_``N3-\<!!%.=0`'"```*
- XM7U)E<4)A<V4``@@``%]#96YT97(``@@`$E]39713:7IE``((`"!?4V5T3&]CA
- XM871I;VX``@@`.%]296%D3&]C871I;VX``@@`4%]&;W)M870``@@`:%]&:6QED
- XM4F5Q=65S=&5R``((`'1?0V]L;W)297%U97-T97(``@@`@%]%>'1E;F1E9$-OH
- XM;&]R4F5Q=65S=&5R``((`(Q?1')A=T)O>``""`"H7TUA:V5"=71T;VX``@@`.
- XMQE]-86ME4V-R;VQL0F%R``((`.)?4'5R9V5&:6QE<P`""`#N7T=E=$9O;G1(^
- XM96EG:'1!;F17:61T:``""`#V7TUA:V5'861G970``@@!!E]-86ME4W1R:6YGR
- XM``((`1A?36%K95!R;W```@@!*E],:6YK1V%D9V5T``((`4A?3&EN:U-T<FEN?
- XM9T=A9&=E=``""`%F7TQI;FM0<F]P1V%D9V5T``((`81?1V5T4W1R:6YG``((-
- XM`:)?4F5A;%1I;6538W)O;&P``@@!K%]497AT4F5Q=65S=``""`&V7T=E=$QOC
- XM;F<``@@!P%]287=+97E4;T%S8VEI``((`<Y*=6UP270``@@!ZE-T86-K0VQEO
- XM86YU<``""`($7U-I;7!L95)E<75E<W0``@@"#E]4=V]'861297%U97-T``((H
- XE`A94=V]'861297%U97-T``((`B13:6UP;&5297%U97-T`````'%UP
- X``
- Xend
- Xsize 1252
- END_OF_FILE
- if test 1794 -ne `wc -c <'areqglue.o.uu'`; then
- echo shar: \"'areqglue.o.uu'\" unpacked with wrong size!
- fi
- # end of 'areqglue.o.uu'
- fi
- if test -f 'customizefi.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'customizefi.uu'\"
- else
- echo shar: Extracting \"'customizefi.uu'\" \(335 characters\)
- sed "s/^X//" >'customizefi.uu' <<'END_OF_FILE'
- Xbegin 666 customizefile
- XM```#\P`````````#``````````(````6````!0````$```/I````%BQX``1#$
- XM^0````AP`$ZN_=@CP`````!G*")`0?H`)B`(('S___^L3J[^7"/`````!'#_0
- XM3J[^MG(!X:D@`4ZN_L).=3%\`!0`&@"H```!@``>(GD````$3M$```/L````<
- XM!`````$````&````$@```"P```!2`````````_(```/J````!0``````````"
- X<<F5Q+FQI8G)A<GD````#\@```^L````!```#\O(`V
- X``
- Xend
- Xsize 208
- END_OF_FILE
- if test 335 -ne `wc -c <'customizefi.uu'`; then
- echo shar: \"'customizefi.uu'\" unpacked with wrong size!
- fi
- # end of 'customizefi.uu'
- fi
- if test -f 'customizefile.asm' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'customizefile.asm'\"
- else
- echo shar: Extracting \"'customizefile.asm'\" \(3099 characters\)
- sed "s/^X//" >'customizefile.asm' <<'END_OF_FILE'
- X
- X; Written by Bruce Dawson, Copyright (c) 1989.
- X;
- X; This program and source may be freely distributed as long as
- X; credit to the original author is left in the source and documentation
- X; accompanying the executable. This program may be modified for your own
- X; purposes.
- X;
- X;
- X; This program is designed to an example of how you can customize
- X; the req.library file requester (or any of the other requesters) to suit
- X; your own personal tastes. This program is designed to be used by people
- X; who USE programs that use the file requester, not people who WRITE
- X; programs that use the file requester. This program patches into all calls
- X; to the file requester and modifies the requester structure, without
- X; telling the calling program.
- X; Note that this program opens the requester library but never
- X; closes it. This is necessary if the patch is to stay in effect. This
- X; does, however, mean that the requester library can not be flushed out of
- X; memory. In addition, this program must stay in memory forever. To
- X; conserve memory, it would be wise to run this program with as small a
- X; stack as possible.
- X; This technique of patching the requester library could be used to
- X; patch other functions in the requester library also. Have fun customizing
- X; your system, while still using a 'standard' file requester.
- X
- X
- X include "libraries/reqbase.i"
- X
- X
- XSYS MACRO
- X XREF _LVO\1
- X JSR _LVO\1(A6)
- X ENDM
- X
- X dseg
- X_ReqBase DC.L 0
- XOldLocation DC.L 0
- Xreqname DC.B "req.library",0
- X cseg
- X
- X
- X
- X MOVE.L 4,A6 ;Load SysBase.
- X LEA reqname,A1
- X MOVEQ #0,D0
- X SYS OpenLibrary
- X MOVE.L D0,_ReqBase
- X BEQ ErrorOpeningReqBase
- X
- X MOVE.L D0,A1
- X LEA FileRequesterPatchFunction,A0
- X MOVE.L A0,D0
- X MOVE.L #_LVOFileRequester,A0
- X SYS SetFunction
- X MOVE.L D0,OldLocation
- X
- X MOVEQ #-1,D0
- X SYS AllocSignal ;Allocate any signal.
- X
- X MOVEQ #1,D1
- X LSL.L D0,D1
- X MOVE.L D1,D0
- X SYS Wait ;Wait for a signal that will never come.
- X
- XErrorOpeningReqBase
- X RTS
- X
- X
- X
- X
- X
- XFileRequesterPatchFunction
- X; Here is where you adjust the file requester structure to suit your
- X; own particular tastes. Examples of things that you can safely adjust are
- X; the color fields (dirnamescolor, devicenamescolor etc.), the numcolumns
- X; and numlines fields. Most of the flags can safely be set from here, the
- X; exceptions being the EXTSELECT and CACHING flags, because if the calling
- X; program doesn't have the necessary code to deal with these (processing the
- X; extra files and purging buffers left by both flags) then some memory may
- X; not get freed up. These two flags can be safely cleared though, if you
- X; don't want extended select or caching. I believe all of the other flags
- X; can safely be set or cleared or set.
- X
- X ;If you like a particular width of file requester.
- X MOVE.W #20,frq_numcolumns(A0)
- X
- X ;If you want the cache to be purged whenever the directory
- X ;modification date changes and if you don't want half read
- X ;directories to get cached.
- X OR.L #FRQCACHEPURGEM!FRQNOHALFCACHEM,frq_Flags(A0)
- X MOVE.L OldLocation,A1
- X JMP (A1)
- X
- X
- X
- END_OF_FILE
- if test 3099 -ne `wc -c <'customizefile.asm'`; then
- echo shar: \"'customizefile.asm'\" unpacked with wrong size!
- fi
- # end of 'customizefile.asm'
- fi
- if test -f 'lreqglue.o.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lreqglue.o.uu'\"
- else
- echo shar: Extracting \"'lreqglue.o.uu'\" \(2034 characters\)
- sed "s/^X//" >'lreqglue.o.uu' <<'END_OF_FILE'
- Xbegin 666 lreqglue.o
- XM```#YP````````/H`````2````````/I````HB!O``1,[P`#``A(>/_B8``!?
- XMUDSO``,`!$AX_]Q@``'(2.<X,DSO``<`'"QY`````$ZN_]9,WTP<3G5(YS@RX
- XM3.\`!P`<+'D`````3J[_T$S?3!Q.=4CG.#),[P<``!PL>0````!.KO_*3-],\
- XM'$YU(&\`!$AX_ZQ@``%N("\`!$AX_Z9@``%B(&\`!$AX_T!@``%62.<X,B!O8
- XM`!Q,[P`/`"`L>0````!.KO^@3-],'$YU2.<X,DSO!P``'$SO``<`*"QY````B
- XM`$ZN_YI,WTP<3G5(YS@R(&\`'$SO``\`("QY`````$ZN_Y1,WTP<3G4@;P`$V
- XM2'C_CF```.Y(>/^(8```YDSO`P$`!,&(2'C_@F```-8@;P`$3.\``P`(2'C_#
- XM?&```,0@;P`$3.\``P`(2'C_=F```+)(YS@R3.\+```<3.\``P`H+'D`````&
- XM3J[_<$S?3!Q.=4CG.#),[P\``!Q,[P`/`"PL>0````!.KO]J3-],'$YU2.<X]
- XM,DSO"0``'$SO`!\`)"QY`````$ZN_V1,WTP<3G5(YS@R3.\'```<3.\``P`H'
- XM+'D`````3J[_7DS?3!Q.=2!O``1(>/]88"8@;P`$2'C_4F`<(&\`!$AX_TQ@B
- XM$DSO``,`!"!O``Q(>/]&8````DAY```"!B\O``0O3@`(+'D`````+P`@#M&O(
- XM``0@'TYU+%].=2`@3VL@(`!#86YC96P`4F5S=6UE```@;P`$0^\`"&`:(&\`;
- XM!$/O``A@```"2.<@.$7Z_\Y'^O_18`I(YR`XE<I'^O_,+'D`````GOP`+BA/$
- XM=!9"7%'*__PNB"])``0O2@`0+TL`%#]\__\`'"!/3J[_4M[\`"Y,WQP$3G5.\
- XM<0```^P````!`````````>@````````#[P$```)?0V5N=&5R```````!```""
- XM2G5M<$ET``````'F`0```E]39713:7IE````$@$```-?4V5T3&]C871I;VX`#
- XM```@`0``!%]296%D3&]C871I;VX````````Z`0```E]&;W)M870`````5`$`3
- XM``1?1FEL95)E<75E<W1E<@``````;@$```1?0V]L;W)297%U97-T97(`````T
- XM>@$```9?17AT96YD961#;VQO<E)E<75E<W1E<@````"&`0```E]$<F%W0F]XO
- XM````D@$```-?36%K94)U='1O;@````"P`0``!%]-86ME4V-R;VQL0F%R````%
- XM``#0`0```U]0=7)G949I;&5S`````.X!```&7T=E=$9O;G1(96EG:'1!;F17W
- XM:61T:```````^@$```-?36%K94=A9&=E=`````$"`0```U]-86ME4W1R:6YGK
- XM`````1(!```#7TUA:V50<F]P```````!)`$```-?3&EN:T=A9&=E=`````$VN
- XM`0``!5],:6YK4W1R:6YG1V%D9V5T```````!5@$```1?3&EN:U!R;W!'861G3
- XM970````!=@$```-?1V5T4W1R:6YG``````&6`0``!%]296%L5&EM95-C<F]L;
- XM;`````&V`0```U]497AT4F5Q=65S=````<`!```"7T=E=$QO;F<```'*`0``S
- XM!%]287=+97E4;T%S8VEI``````'4`0```U-T86-K0VQE86YU<````@8!```$&
- XM7U-I;7!L95)E<75E<W0``````B`!```$4VEM<&QE4F5Q=65S=````````D0!S
- XM```$7U1W;T=A9%)E<75E<W0``````BH!```$5'=O1V%D4F5Q=65S=```````R
- XM`C:!```"7U)E<4)A<V4````,````+````$8```!@````H@```,(```#@```!@
- X=2````6@```&(```!J````?8```)0`````````_)@!
- X``
- Xend
- Xsize 1424
- END_OF_FILE
- if test 2034 -ne `wc -c <'lreqglue.o.uu'`; then
- echo shar: \"'lreqglue.o.uu'\" unpacked with wrong size!
- fi
- # end of 'lreqglue.o.uu'
- fi
- if test -f 'macros.i' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'macros.i'\"
- else
- echo shar: Extracting \"'macros.i'\" \(1927 characters\)
- sed "s/^X//" >'macros.i' <<'END_OF_FILE'
- X;------------------------------------------------------
- X
- X; This is a REALLY handly macro, that allows you to pop up messages at debugging
- X;points in your code. This was necessary to allow working on a multithreaded
- X; program, since you don't have a way of tracing the new threads.
- X
- X; If you don't define 'Debug', then this macro assembles to nothing, otherwise
- X;you get the requester.
- X;
- X; If you wish to display multiple paramters, simply push them on the stack
- X;IN REVERSE ORDER of how you wish to display them, then put the stack pointer in
- X;A1
- X
- X; To use this macro, you MUST link with lreqglue.o or areqglue.o.
- X;
- X
- X; MOVE.L Val2,-(SP)
- X; MOVE.W Val1,-(SP)
- X; MOVE.L String,-(SP)
- X; MOVE.L SP,A1
- X; showf <%s is a string, Val1: %d is a word, Val2: %ld is a long.>
- X; LEA 10(SP),SP
- X
- Xshowf MACRO
- X IFD Debug
- X
- X IFD .A68K
- X MOVEM.L D0-A6,-(SP)
- X LEA \\@showftext,A0
- X CALL SimpleRequest
- X BRA \\@around
- X
- X\\@showftext DC.B "\1",0
- X EVEN
- X\\@around
- X MOVEM.L (SP)+,D0-A6
- X ENDC
- X
- X IFND .A68K
- X MOVEM.L D0-A6,-(SP)
- X LEA \@showftext,A0
- X CALL SimpleRequest
- X BRA \@around
- X
- X\@showftext DC.B "\1",0
- X EVEN
- X\@around
- X MOVEM.L (SP)+,D0-A6
- X ENDC
- X
- X ENDC
- X ENDM
- X
- X; The reason for two definitions is the difference between A68K (the PD
- X;assembler),which allows named local labels, and the Aztec assembler which
- X;doesn't.
- X; If you have a local label, and then this macro, and then a reference to that
- X;local variable, then under the Aztec version you would get an error, because
- X;the showf version (under Aztec) uses GLOBAL labels, which break up locals.
- X; That means that if you wish to use this macro while under Aztec, you can't use
- X;local labels in the same function.
- X
- X;-------------------------------------------------------------------------
- X
- XCALL MACRO
- X public \1
- X JSR \1
- X ENDM
- X
- XLOADLIB MACRO
- X MOVE.L _\1Base,A6
- X ENDM
- X
- XSYS MACRO
- X XREF _LVO\1
- X JSR _LVO\1(A6)
- X ENDM
- X
- XPUSH MACRO
- X MOVEM.L \1,-(SP)
- X ENDM
- X
- XPULL MACRO
- X MOVEM.L (SP)+,\1
- X ENDM
- X
- XAllRegs REG D0-A6
- X
- END_OF_FILE
- if test 1927 -ne `wc -c <'macros.i'`; then
- echo shar: \"'macros.i'\" unpacked with wrong size!
- fi
- # end of 'macros.i'
- fi
- if test -f 'read.me' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'read.me'\"
- else
- echo shar: Extracting \"'read.me'\" \(5233 characters\)
- sed "s/^X//" >'read.me' <<'END_OF_FILE'
- X
- X
- X=============================================================================
- XOfficial release of version 1.2, October '89
- X
- X
- XReq.library is Copyright (c)1989, 1990 by C.W. Fox and Bruce Dawson. It is
- Xfreely distributable. No charge may be made for it's distribution, except
- Xfor a nominal media fee.
- X
- X Feel free to distribute and use this library with your programs, along
- Xwith a notice that the library is 'FreeWare'.
- X
- X=============================================================================
- X
- X Hello! This is the introduction to the all-new "req.library"!
- X
- X What is it?
- X
- X Req.library adds user-friendliness to the Amiga's user interface.
- XWhile Intuition does supply requesters, they have certain limitations and
- Xare awkward to set up. We designed ours to be quick and easy to set up, as
- Xwell as adding features. The text requester has PRINTF style formatting
- Xbuilt in! There is a colour requester, a very powerful file requester, a
- Xstring requester (allowing the user to enter a line of text), and an
- Xinteger requester (allowing the user to enter an integer number). There
- Xare also low-level support routines, such as routines to create any of the
- XAmiga's gadgets, as well as a real-time scroll routine.
- X
- X The nice thing about the gadget creation routines, is that they allow
- Xyou to create gadgets from parameters, meaning that you can allocate memory
- Xand have your gadgets constructed there. This allows you to use gadgets in
- Xcode that is meant to be re-entrant. This normally wouldn't be possible
- Xwith gadgets. The size necessary for each gadget has been defined, and you
- Xwill find the definitions in reqbase.i and reqbase.h.
- X
- X (Please see req.doc for a more comprehensive explanation).
- X
- X Here is an overview of the files included in this ZOO archive:
- X
- X areqglue.o Gluecode for Aztec C. Link in with your programs.
- X lreqglue.o Gluecode for Lattice C. Link in with your programs.
- X reqglue.asm Sourcecode for the gluecode.
- X customizefile.asm How to customize the file requester.
- X customizefile The executable of the file requester customizer.
- X reqbase.h The C include file. Put it in include/libraries
- X reqbase.i The asm include file. Put it in include/libraries
- X showoffreq.c The C source code for the req demo program.
- X showoffreq The req demo executable.
- X req.library The actual library. This goes in libs:
- X reqproto.h The prototype file for Lattice C
- X req.doc The instructions and calling conventions.
- X read.me This file
- X macros.i Some handy macros.
- X
- X-----------------------------------------------------------------------------
- X Included is a demo program called Showoffreq, which opens a screen with
- Xtext gadgets in it, one per requester. If you wish to experiment with the
- Xrequesters, this might be a good place to start.
- X
- X
- XTo compile showoffreq.c under Lattice, use:
- X
- X lc -Lcd+lib:lreqglue.o showoffreq
- X
- X
- X
- X
- XTo compile showoffreq.c under Aztec, use:
- X
- X cc -o o/showoffreq.o showoffreq.c
- X
- X ln -w +Q -o showoffreq o/showoffreq.o lib:areqglue.o -lc
- X
- X-----------------------------------------------------------------------------
- X
- X For Assembly
- X
- X-----------------------------------------------------------------------------
- X
- X To use req.library from assembly language is quite easy. So far,
- Xnothing's been said about it, so here is some info.
- X
- X First of all, the library is EXACTLY like system libraries; you open
- Xit, call functions, and then close it. We've included some macros that may
- Xmake working with it a bit easier. All you have to include to actually use
- Xthe req.library is reqbase.i. This contains all the function offsets. You
- Xmay wish to call the functions directly, or use a bit of gluecode to make
- Xthings even easier. If you wish to do it all yourself, then all you've got
- Xto do is include reqbase.i. If you wish to use some pre-made function
- Xsetup, then you have to link with the appropriate reqglue.o (lreqglue.o for
- XLattice, and areqglue.o for Aztec).
- X
- X
- X
- X
- X
- X\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- X
- X To link with lreqglue.o (for Lattice), an example linkfile might look like
- Xthis:
- X
- X---cut here---cut here---cut here---cut here---cut here---cut here---cut here
- X
- XFROM
- Xlib:startup.o
- Xobj/file1.o
- Xobj/file2.o
- Xobj/data.o
- Xobj/menus.o
- X
- XLIB
- Xlib:amiga.lib (or lib:lvo.lib if you have it)
- Xlib:lreqglue.o
- X
- XTO
- Xfile
- X
- Xnodebug smallcode smalldata
- X
- XBATCH
- X
- X---cut here---cut here---cut here---cut here---cut here---cut here---cut here
- X
- Xand to use this linkfile, just say:
- X
- X blink with <linkfile>
- X
- X
- X
- X
- X\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- X
- XTo link with areqglue.o (for Aztec), and example linkfile might look like this:
- X
- X
- X
- X---cut here---cut here---cut here---cut here---cut here---cut here---cut here
- X
- Xln -w +Q -o file1 o/file1.o lib:areqglue.o -lc
- X
- X---cut here---cut here---cut here---cut here---cut here---cut here---cut here
- X
- Xand to use this linkfile, just say:
- X
- X ln -f <linkfile>
- X
- X
- END_OF_FILE
- if test 5233 -ne `wc -c <'read.me'`; then
- echo shar: \"'read.me'\" unpacked with wrong size!
- fi
- # end of 'read.me'
- fi
- if test -f 'read.me.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'read.me.uu'\"
- else
- echo shar: Extracting \"'read.me.uu'\" \(3646 characters\)
- sed "s/^X//" >'read.me.uu' <<'END_OF_FILE'
- Xbegin 666 read.me.info
- XMXQ```0``````BP`3`&(`'0`&``,``0`DRN``),KX````````````````````/
- XM````!```)+S8`````````(<````(``````````````````````!B`!T``P`!.
- XM?<#_`````````````````````````````````$5555550```````````15_5.
- XM555```````````!%5M55544``````````$569]?51P``````````159G9V5'3
- XM``````````!%5F9F14<``````````$56QF9U1P``````````15_'Q\5'````T
- XM``````!%5!4%!4<``````````$5555551P``````````1?UU=55'````````G
- XM``!%S%%Q54<``````````$7$=7%]1P``````````1?5Q<<U'``````````!%7
- XMP7%Q_$<``````````$7%<7'`1P``````````1>5Y>7U'``````````!%!4%!%
- XM04<``````````$5555551P``````````1555555'``````````!%555554<`H
- XM`````````$5555551P``````````15550`%'``````````!%555554<`````W
- XM````````````!P``````````+_______```````````55555554`````````O
- XM```````````````````!_______X``````````'_______@``````````?_P8
- XM?____\`````````!__D_____P`````````'_^9P\/_O``````````?_YF9F?&
- XM^\`````````!__F9F?_[P`````````'_^3F9G_O``````````?_P?#P_^\``G
- XM```````!_______[P`````````'_______O``````````?X#SX__^\``````(
- XM```!_S/_S__[P`````````'_/X_/A_O``````````?\/S\\S^\`````````!V
- XM_S_/SP/[P`````````'_/\_//_O``````````?X?AX>'^\`````````!____=
- XM___[P`````````'_______O``````````?______^\`````````!_______[>
- XMP`````````'_______O``````````?______^\`````````!_______[P```E
- XM``````'_______O``````````?@``````\``````````________P```````M
- XM``!________`````````````````````````````````````````````````Z
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````&(`'0`#``&"B/\`````````````````````````,
- XM*JJJJJJH!5555555```W______Z_______L``#?______K______^P``-___K
- XM___^O______[```WZJJJJN`#ZJJJJKL``#?______K______^P``-______^O
- XMOZJJJJJ[```W______Z_______L``#?55555?K^JJJJJNP``-______^O___B
- XM___[```W555557Z_JJJJJKL``#?______K______^P``-U55555^OZJJJJJ[V
- XM```W_____^`#______L``#=55555?K^JJJJJNP``-______^O______[```W6
- XMU55557Z_JJJJJKL``#?______K______^P``-U55555^OZJJJJJ[```W____Z
- XM__Z_______L``#=55555?K^JJJJJNP``-______^O______[```W_____^`#;
- XM______L``#?__U___K___K__^P``-______^O______[```P``````"`````4
- XM``,``"JJJJJJJ`55555550````````````````````#_______X?_______`^
- XM`/_______________\``^``````!P``````'P`#X``````'```````?``/@`L
- XM`````<``````!\``^``````?_!55555'P`#X``````'```````?``/@`````N
- XM`<!555551\``^``````!P``````'P`#X*JJJJH'`555554?``/@``````<``1
- XM````!\``^*JJJJJ!P%55555'P`#X``````'```````?``/BJJJJJ@<!55555X
- XM1\``^``````?_``````'P`#XJJJJJH'`555554?``/@``````<``````!\``=
- XM^"JJJJJ!P%55555'P`#X``````'```````?``/BJJJJJ@<!555551\``^```P
- XM```!P``````'P`#XJJJJJH'`555554?``/@``````<``````!\``^``````?;
- XM_``````'P`#X``"@``'```%```?``/@``````<``````!\``____________;
- XM____P`#________________``/_______A_______\``````````````````$
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````!`Z571I;&ET%
- X):65S+TUO<F4`#
- X``
- Xend
- Xsize 2574
- END_OF_FILE
- if test 3646 -ne `wc -c <'read.me.uu'`; then
- echo shar: \"'read.me.uu'\" unpacked with wrong size!
- fi
- # end of 'read.me.uu'
- fi
- if test -f 'req.doc.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'req.doc.uu'\"
- else
- echo shar: Extracting \"'req.doc.uu'\" \(3646 characters\)
- sed "s/^X//" >'req.doc.uu' <<'END_OF_FILE'
- Xbegin 666 req.doc.info
- XMXQ```0``````&P`3`&(`'0`&``,``0`DB6@`)+4(````````````````````A
- XM````!```))=0`````````!<````(``````````````````````!B`!T``P`!Q
- XM=##_`````````````````````````````````$5555550```````````15_5U
- XM555```````````!%5M55544``````````$569]?51P``````````159G9V5'3
- XM``````````!%5F9F14<``````````$56QF9U1P``````````15_'Q\5'````T
- XM``````!%5!4%!4<``````````$5555551P``````````1?UU=55'````````G
- XM``!%S%%Q54<``````````$7$=7%]1P``````````1?5Q<<U'``````````!%7
- XMP7%Q_$<``````````$7%<7'`1P``````````1>5Y>7U'``````````!%!4%!%
- XM04<``````````$5555551P``````````1555555'``````````!%555554<`H
- XM`````````$5555551P``````````15550`%'``````````!%555554<`````W
- XM````````````!P``````````+_______```````````55555554`````````O
- XM```````````````````!_______X``````````'_______@``````````?_P8
- XM?____\`````````!__D_____P`````````'_^9P\/_O``````````?_YF9F?&
- XM^\`````````!__F9F?_[P`````````'_^3F9G_O``````````?_P?#P_^\``G
- XM```````!_______[P`````````'_______O``````````?X#SX__^\``````(
- XM```!_S/_S__[P`````````'_/X_/A_O``````````?\/S\\S^\`````````!V
- XM_S_/SP/[P`````````'_/\_//_O``````````?X?AX>'^\`````````!____=
- XM___[P`````````'_______O``````````?______^\`````````!_______[>
- XMP`````````'_______O``````````?______^\`````````!_______[P```E
- XM``````'_______O``````````?@``````\``````````________P```````M
- XM``!________`````````````````````````````````````````````````Z
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````&(`'0`#``%X^/\`````````````````````````R
- XM*JJJJJJH!5555555```W______Z_______L``#?______K______^P``-___K
- XM___^O______[```WZJJJJN`#ZJJJJKL``#?______K______^P``-______^O
- XMOZJJJJJ[```W______Z_______L``#?55555?K^JJJJJNP``-______^O___B
- XM___[```W555557Z_JJJJJKL``#?______K______^P``-U55555^OZJJJJJ[V
- XM```W_____^`#______L``#=55555?K^JJJJJNP``-______^O______[```W6
- XMU55557Z_JJJJJKL``#?______K______^P``-U55555^OZJJJJJ[```W____Z
- XM__Z_______L``#=55555?K^JJJJJNP``-______^O______[```W_____^`#;
- XM______L``#?__U___K___K__^P``-______^O______[```P``````"`````4
- XM``,``"JJJJJJJ`55555550````````````````````#_______X?_______`^
- XM`/_______________\``^``````!P``````'P`#X``````'```````?``/@`L
- XM`````<``````!\``^``````?_!55555'P`#X``````'```````?``/@`````N
- XM`<!555551\``^``````!P``````'P`#X*JJJJH'`555554?``/@``````<``1
- XM````!\``^*JJJJJ!P%55555'P`#X``````'```````?``/BJJJJJ@<!55555X
- XM1\``^``````?_``````'P`#XJJJJJH'`555554?``/@``````<``````!\``=
- XM^"JJJJJ!P%55555'P`#X``````'```````?``/BJJJJJ@<!555551\``^```P
- XM```!P``````'P`#XJJJJJH'`555554?``/@``````<``````!\``^``````?;
- XM_``````'P`#X``"@``'```%```?``/@``````<``````!\``____________;
- XM____P`#________________``/_______A_______\``````````````````$
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````!`Z571I;&ET%
- X):65S+TUO<F4`#
- X``
- Xend
- Xsize 2574
- END_OF_FILE
- if test 3646 -ne `wc -c <'req.doc.uu'`; then
- echo shar: \"'req.doc.uu'\" unpacked with wrong size!
- fi
- # end of 'req.doc.uu'
- fi
- if test -f 'req.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'req.h'\"
- else
- echo shar: Extracting \"'req.h'\" \(646 characters\)
- sed "s/^X//" >'req.h' <<'END_OF_FILE'
- X/* Prototypes for the req.library for use with Lattice. */
- X
- X#ifndef __NOPROTO
- X#ifndef __PROTO
- X#define __PROTO(a) a
- X#endif
- X#else
- X#ifndef __PROTO
- X#define __PROTO(a) ()
- X#endif
- X#endif
- X
- X
- Xvoid __stdargs SimpleRequest __PROTO((char *,...));
- Xint __stdargs TwoGadRequest __PROTO((char *,...));
- Xint __stdargs FileRequester __PROTO((struct FileRequester *));
- Xvoid __stdargs Center __PROTO((struct NewWindow *,int,int));
- Xvoid __stdargs PurgeFiles __PROTO((struct FileRequester *));
- Xvoid __stdargs ColorRequester __PROTO((long));
- Xint __stdargs TextRequest __PROTO((struct TRStructure *));
- Xchar __stdargs RawKeyToAscii __PROTO((short,short,char *));
- X
- END_OF_FILE
- if test 646 -ne `wc -c <'req.h'`; then
- echo shar: \"'req.h'\" unpacked with wrong size!
- fi
- # end of 'req.h'
- fi
- if test -f 'reqbase.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reqbase.h'\"
- else
- echo shar: Extracting \"'reqbase.h'\" \(13008 characters\)
- sed "s/^X//" >'reqbase.h' <<'END_OF_FILE'
- X
- X/* reqlibrary.h (c) 1988/1989 reserved by Colin Fox and Bruce Dawson */
- X
- X#ifndef REQLIBRARY_H
- X#define REQLIBRARY_H
- X
- X#define REQVERSION 1
- X
- X
- X#define NUMPAIRS 10
- X
- Xstruct GadgetBlock
- X {
- X struct Gadget Gadget;
- X struct Border Border;
- X WORD Pairs[NUMPAIRS];
- X struct IntuiText Text;
- X };
- X
- Xstruct StringBlock
- X {
- X struct Gadget Gadget;
- X struct StringInfo Info;
- X struct Border Border;
- X WORD Pairs[NUMPAIRS];
- X };
- X
- Xstruct PropBlock
- X {
- X struct Gadget Gadget;
- X struct PropInfo Info;
- X struct Image Image;
- X };
- X
- Xstruct ScrollBlock
- X {
- X struct Gadget ArrowUpLt;
- X struct Image ImageUpLt;
- X struct Gadget ArrowDnRt;
- X struct Image ImageDnRt;
- X struct PropBlock Prop;
- X };
- X
- Xstruct TwoImageGadget
- X {
- X struct Gadget Gadget;
- X struct Image Image1;
- X struct Image Image2;
- X };
- X
- X#define ATTITUDEB 16
- X
- X#define HORIZSLIDER (0L<<ATTITUDEB) /*;which way the slider stands*/
- X#define VERTSLIDER (1L<<ATTITUDEB) /*;This is so that it bypasses all gadget flags.*/
- X
- X
- X
- X/*; This structure is use with the TextRequester function.*/
- X
- Xstruct TRStructure
- X {
- X char *Text; /* ;This is the message text, including printf() style formatting if desired.*/
- X char *Controls; /* ;This is the address of the parameter list, if printf() style formatting is used.*/
- X struct Window *Window;/* ;This is an optional (zero if not used) pointer to a window on the screen you*/
- X /* ;would like the requester to show up on.*/
- X char *MiddleText; /* ;If non-zero, this is the text for the gadget in the lower middle (returns 2).*/
- X char *PositiveText; /* ;If non-zero, this is the text for the gadget in the lower left hand corner (returns 1).*/
- X char *NegativeText; /* ;If non-zero, this is the text for the gadget in the lower right (returns 0).*/
- X char *Title; /* ;This is the title for the window.*/
- X WORD KeyMask; /* ;This is the qualifier mask for the keyboard shortcuts.*/
- X /* ;Use $FFFF to allow any qualifiers (or none).*/
- X /* ;Zero means that no keyboard shortcuts are allowed.*/
- X WORD textcolor; /* ;Color of the text. Uses color 1 if no color specified. */
- X WORD detailcolor; /* ;Detail and block color, as in a NewWindow structure. If */
- X WORD blockcolor; /* ;both are left zero, block pen will be set to 1. */
- X WORD versionnumber; /* ;Make SURE this is set to zero. */
- X LONG rfu1; /* ;Make SURE you leave these two zeroed also. */
- X LONG rfu2; /* ;Make SURE you leave these two zeroed also. */
- X };
- X
- X/* NOTE:
- X
- X The control values mentioned above are used if you choose to insert
- Xprintf style directives in your strings and should contain the address of
- Xa list of control parameters, usually on the stack.
- X */
- X
- X
- X
- X/*; Remember, if you don't want to go through the hassle of */
- X/*; initializing a ExtendedColorRequester structure, you can always just call */
- X/*; ColorRequester (as opposed to ExtendedColorRequester). ColorRequester */
- X/*; just takes a single parameter, in D0, the color that should start out */
- X/*; being highlit. It returns a single value, the color that was selected at */
- X/*; the end.
- X
- X/*; This structure is for use with the ExtendedColorRequester (_not_, */
- X/*; the ColorRequester) function. */
- X
- Xstruct ExtendedColorRequester
- X {
- X LONG defcolor; /*;The color that is initially highlit. */
- X APTR window; /*;The window the 'requester' opens up in. */
- X LONG rfu1; /*;Who knows what these will be used for, */
- X LONG rfu2; /*;but I'm sure we'll think of something. */
- X LONG rfu3; /*;Until then, just keep these zeroed. */
- X LONG rfu4; /*;Okay? */
- X LONG rfu5;
- X };
- X
- X
- X
- X/*; This structure is for use with the GetLong function.*/
- X
- X#define GLNODEFAULTB 0 /*;Set this bit in the flags if you don't want a default*/
- X /*;value to show up in the get long string gadget. For*/
- X /*;some things this is much better than having a zero*/
- X /*;show up.*/
- X
- X#define GLNODEFAULTM (1<<GLNODEFAULTB)
- X
- Xstruct GetLongStruct
- X {
- X char *titlebar;
- X LONG defaultval;
- X LONG minlimit;
- X LONG maxlimit;
- X LONG result;
- X struct Window *window;
- X WORD versionnumber; /* ;Make SURE this is set to zero. */
- X LONG flags; /* Some, uh flags. See above for bit definitions. */
- X LONG rfu2; /* ;Make SURE you leave these two zeroed also. */
- X };
- X
- X
- X
- X#ifndef DSIZE
- X#define DSIZE 130
- X#define FCHARS 30
- X#endif
- X#define WILDLENGTH 30
- X
- X#define FRQSHOWINFOB 0 /*;Set this in Flags if you want .info files to show. They default to hidden.*/
- X#define FRQEXTSELECTB 1 /*;Set this in Flags if you want extended select. Default is not.*/
- X#define FRQCACHINGB 2 /*;Set this in Flags if you want directory caching. Default is not.*/
- X#define FRQGETFONTSB 3 /*;Set this in Flags if you want a font requester rather than a file requester.*/
- X#define FRQINFOGADGETB 4 /*;Set this in Flags if you want a hide-info files gadget.*/
- X#define FRQHIDEWILDSB 5 /*;Set this in Flags if you DON'T want 'show' and 'hide' string gadgets.*/
- X#define FRQABSOLUTEXYB 6 /*;Use absolute x,y positions rather than centering on mouse.*/
- X#define FRQCACHEPURGEB 7 /*;Purge the cache whenever the directory date stamp changes if this is set.*/
- X#define FRQNOHALFCACHEB 8 /*;Don't cache a directory unless it is completely read in when this is set.*/
- X#define FRQNOSORTB 9 /*;Set this in Flags if you DON'T want sorted directories.*/
- X#define FRQNODRAGB 10 /*;Set this in Flags if you DON'T want a drag bar and depth gadgets.*/
- X#define FRQSAVINGB 11 /*;Set this bit if you are selecting a file to save to.*/
- X#define FRQLOADINGB 12 /*;Set this bit if you are selecting a file(s) to load from.*/
- X /*;These two bits (save and load) aren't currently used for*/
- X /*;anything, but they may be in the future, so you should*/
- X /*;remember to set them. Also, these bits make it easier if*/
- X /*;somebody wants to customize the file requester for their*/
- X /*;machine. They can make it behave differently for loading*/
- X /*;vs saving.*/
- X
- X#define FRQSHOWINFOM (1<<FRQSHOWINFOB)
- X#define FRQEXTSELECTM (1<<FRQEXTSELECTB)
- X#define FRQCACHINGM (1<<FRQCACHINGB)
- X#define FRQGETFONTSM (1<<FRQGETFONTSB)
- X#define FRQINFOGADGETM (1<<FRQINFOGADGETB)
- X#define FRQHIDEWILDSM (1<<FRQHIDEWILDSB)
- X#define FRQABSOLUTEXYM (1<<FRQABSOLUTEXYB)
- X#define FRQCACHEPURGEM (1<<FRQCACHEPURGEB)
- X#define FRQNOHALFCACHEM (1<<FRQNOHALFCACHEB)
- X#define FRQNOSORTM (1<<FRQNOSORTB)
- X#define FRQNODRAGM (1<<FRQNODRAGB)
- X#define FRQSAVINGM (1<<FRQSAVINGB)
- X#define FRQLOADINGM (1<<FRQLOADINGB)
- X
- Xstruct ESStructure
- X {
- X struct ESStructure *NextFile;
- X WORD NameLength; /* Length of thefilename field, not including the terminating zero. */
- X WORD Pad;
- X APTR Node; /* For internal use only. */
- X char thefilename[1]; /* This is a variable size field. */
- X };
- X
- Xstruct FileRequester
- X {
- X UWORD VersionNumber; /* Make sure this is zeroed for now. */
- X
- X char *Title; /* Hailing text */
- X char *Dir; /* Directory array (DSIZE+1) */
- X char *File; /* Filename array (FCHARS+1) */
- X
- X char *PathName; /* Complete path name array (DSIZE+FCHARS+2) */
- X
- X struct Window *Window; /* Window requesting or NULL */
- X
- X
- X UWORD MaxExtendedSelect; /* Zero implies a maximum of 65535, as long as FRQEXTSELECT is set.*/
- X UWORD numlines; /* Number of lines in file window. */
- X UWORD numcolumns; /* Number of columns in file window. */
- X UWORD devcolumns;
- X ULONG Flags; /* Various - umm - flags. See above for more info. */
- X UWORD dirnamescolor; /* These five colors will all default */
- X UWORD filenamescolor; /* to color one if you don't specify */
- X UWORD devicenamescolor; /* a color (ie; if you specify color zero). */
- X UWORD fontnamescolor; /* If you want color zero to be used, specify */
- X UWORD fontsizescolor; /* color 32, or some other too large number */
- X /* which mods down to zero. */
- X
- X UWORD detailcolor; /* If both of these colors are specified as */
- X UWORD blockcolor; /* zero then the block pen will be set to one. */
- X
- X UWORD gadgettextcolor; /* The color for the text of the five boolean gadgets. Defaults to 1. */
- X UWORD textmessagecolor; /* The color for the message at the screen top. Defaults to 1. */
- X UWORD stringnamecolor; /* The color for the words Drawer, File, Hide and Show. Defaults to 3. */
- X UWORD stringgadgetcolor; /* The color for the borders of the string gadgets. Defaults to 3. */
- X /* Unfortunately it is not possible to specify */
- X /* the color of the actual text in an Intuition */
- X /* string gadget. */
- X UWORD boxbordercolor; /* The color for the boxes around the file and directory areas. Defaults to 3. */
- X UWORD gadgetboxcolor; /* The color for the boxes around the five boolean gadgets. Defaults to 3. */
- X
- X UWORD FRU_Stuff[18]; /* This area, which is reserved for */
- X /* future use, should all be zero. */
- X
- X struct DateStamp DirDateStamp; /* A copy of the cached directories date stamp. */
- X /* There should never be any need to change this. */
- X
- X UWORD WindowLeftEdge; /* These two fields are only used when the */
- X UWORD WindowTopEdge; /* FRQABSOLUTEXY flag is set. They specify */
- X /* the location of the upper left hand */
- X /* corner of the window. */
- X
- X UWORD FontYSize; /* These fields are used to return the selected */
- X UWORD FontStyle; /* font size and style, only applicable when the */
- X /* font bit is set. */
- X
- X /*If you set the extended select bit and the user extended selects, the list of filenames will start from here.*/
- X struct ESStructure *ExtendedSelect;
- X char Hide[WILDLENGTH+2]; /* The wildcards text. */
- X char Show[WILDLENGTH+2]; /* More wildcards text. */
- X WORD FileBufferPos; /* Various fields taken from the various */
- X WORD FileDispPos; /* string gadgets so that the cursor */
- X WORD DirBufferPos; /* can be returned to the same position */
- X WORD DirDispPos; /* on subsequent calls. */
- X WORD HideBufferPos;
- X WORD HideDispPos;
- X WORD ShowBufferPos;
- X WORD ShowDispPos;
- X
- X/**; The following fields are PRIVATE! Don't go messing with them or
- X; wierd things may/will happen. If this isn't enough of a warning, go read
- X; the one in intuition.h, that should scare you off.**/
- X
- X APTR Memory; /* Memory allocate for dir entries. */
- X APTR Memory2; /* More memory, used for hidden files. */
- X APTR Lock;
- X char PrivateDirBuffer[DSIZE+2]; /* Used for keeping a record of which */
- X /* directory we have file names for. */
- X struct FileInfoBlock *FileInfoBlock;
- X WORD NumEntries;
- X WORD NumHiddenEntries;
- X WORD filestartnumber;
- X WORD devicestartnumber;
- X };
- X
- X
- X
- X/* This is used with the RealTimeScroll function. */
- X
- Xstruct ScrollStruct
- X {
- X ULONG TopEntryNumber; /*;This is the ordinal number of the first*/
- X /*;displayed entry.*/
- X ULONG NumEntries; /*;This is the total number of entries in*/
- X /*;the list.*/
- X UWORD LineSpacing; /*;This is how many pixels high each entry is.*/
- X ULONG NumLines; /*;This is how many entries can be displayed simultaneously.*/
- X struct Gadget *PropGadget; /*;This is a pointer to the prop gadget being monitored.*/
- X
- X void (*RedrawAll)(); /*;This routine is used to redraw all of the*/
- X /*;entries when the user moves far enough*/
- X /*;that scrolling will take too long.*/
- X
- X void (*ReadMore)(); /*;An optional routine that is called when*/
- X /*;the scroll routine is waiting for movement.*/
- X /*;This allows reading of new data while real*/
- X /*;time scrolling.*/
- X void (*ScrollAndDraw)(); /*;This routine is called when the data needs*/
- X /*;to be scrolled and updated. This routine is*/
- X /*;passed four long parameters (on the stack and*/
- X /*;in D0-D3) which are, respectively:*/
- X /*;D0 - entry number of first line to be drawn.*/
- X /*;D1 - pixel offset to draw first line at.*/
- X /*;D2 - amount to scroll before doing any drawing.*/
- X /*;D3 - number of lines of data to draw.*/
- X WORD versionnumber; /*;Make SURE this is set to zero. */
- X LONG rfu1; /*;Make SURE you leave these two zeroed also. */
- X LONG rfu2; /*;Make SURE you leave these two zeroed also. */
- X };
- X
- X
- X
- X
- X
- Xstruct chipstuff
- X {
- X char ArrowUp[20]; /* 16 pixels wide, 10 pixels high. */
- X char ArrowDown[20]; /* 16 pixels wide, 10 pixels high. */
- X char ArrowLeft[18]; /* 16 pixels wide, 9 pixels high. */
- X char ArrowRight[18]; /* 16 pixels wide, 9 pixels high. */
- X char Letter_R[20]; /* 16 pixels wide, 10 pixels high. */
- X char Letter_G[20]; /* 16 pixels wide, 10 pixels high. */
- X char Letter_B[20]; /* 16 pixels wide, 10 pixels high. */
- X char Letter_H[20]; /* 16 pixels wide, 10 pixels high. */
- X char Letter_S[20]; /* 16 pixels wide, 10 pixels high. */
- X char Letter_V[20]; /* 16 pixels wide, 10 pixels high. */
- X };
- X
- Xstruct ReqLib
- X {
- X struct Library RLib;
- X struct AbsExecBase *SysLib;
- X struct DosBase *DosLib;
- X struct IntuitionBase *IntuiLib;
- X struct GfxBase *GfxLib;
- X APTR SegList;
- X struct chipstuff *Images;
- X BYTE Flags;
- X BYTE Pad;
- X char *ConsoleDev; /* Not really a char*, but it should work */
- X struct IOStdReq *ConsoleHandle;
- X };
- X
- X
- X#endif
- END_OF_FILE
- if test 13008 -ne `wc -c <'reqbase.h'`; then
- echo shar: \"'reqbase.h'\" unpacked with wrong size!
- fi
- # end of 'reqbase.h'
- fi
- if test -f 'reqglue.asm' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reqglue.asm'\"
- else
- echo shar: Extracting \"'reqglue.asm'\" \(5221 characters\)
- sed "s/^X//" >'reqglue.asm' <<'END_OF_FILE'
- X
- X include "libraries/reqbase.i"
- X
- X xref _ReqBase
- X
- X
- X
- XGLUE MACRO
- X XDEF _\1
- X_\1
- X ENDM
- X
- XNEWSYS MACRO
- X PEA _LVO\1 ;4
- X BRA JumpIt ;2 to 4.
- X ENDM
- X
- XSTACKOFFSET EQU 4
- X
- X
- X
- XGLUE2 MACRO
- X XDEF _\1
- X_\1
- X MOVEM.L D2-D4/A2-A3/A6,-(SP)
- X ENDM
- X
- XNEWSYS2 MACRO
- X MOVE.L _ReqBase,A6
- X JSR _LVO\1(A6)
- X MOVEM.L (SP)+,D2-D4/A2-A3/A6
- X RTS
- X ENDM
- X
- XSTACKOFFSET2 EQU 28
- X
- X
- X
- X GLUE Center
- X MOVE.L STACKOFFSET(SP),A0
- X MOVEM.L STACKOFFSET+4(SP),D0-D1
- X NEWSYS Center
- X
- X GLUE SetSize
- X MOVEM.L STACKOFFSET(SP),D0-D1
- X NEWSYS SetSize
- X
- X GLUE2 SetLocation
- X MOVEM.L STACKOFFSET2(SP),D0-D2
- X NEWSYS2 SetLocation
- X
- X GLUE2 ReadLocation
- X MOVEM.L STACKOFFSET2(SP),D0-D2
- X NEWSYS2 ReadLocation
- X
- X GLUE2 Format
- X MOVEM.L STACKOFFSET2(SP),A0-A2
- X NEWSYS2 Format
- X
- X GLUE FileRequester
- X MOVE.L STACKOFFSET(SP),A0
- X NEWSYS FileRequester
- X
- X GLUE ColorRequester
- X MOVE.L STACKOFFSET(SP),D0
- X NEWSYS ColorRequester
- X
- X GLUE ExtendedColorRequester
- X MOVE.L STACKOFFSET(SP),A0
- X NEWSYS ExtendedColorRequester
- X
- X GLUE2 DrawBox
- X MOVE.L STACKOFFSET2(SP),A0
- X MOVEM.L STACKOFFSET2+4(SP),D0-D3
- X NEWSYS2 DrawBox
- X
- X GLUE2 MakeButton
- X MOVEM.L STACKOFFSET2(SP),A0-A2
- X MOVEM.L STACKOFFSET2+12(SP),D0-D2
- X NEWSYS2 MakeButton
- X
- X GLUE2 MakeScrollBar
- X MOVE.L STACKOFFSET2(SP),A0
- X MOVEM.L STACKOFFSET2+4(SP),D0-D3
- X NEWSYS2 MakeScrollBar
- X
- X GLUE PurgeFiles
- X MOVE.L STACKOFFSET(SP),A0
- X NEWSYS PurgeFiles
- X
- X GLUE GetFontHeightAndWidth
- X NEWSYS GetFontHeightAndWidth
- X
- X GLUE MakeGadget
- X MOVEM.L STACKOFFSET(SP),D0/A0-A1
- X EXG.L D0,A0 ;Parameter are on the stack in the order A0,D0,A1.
- X NEWSYS MakeGadget
- X
- X GLUE MakeString
- X MOVE.L STACKOFFSET(SP),A0
- X MOVEM.L STACKOFFSET+4(SP),D0-D1
- X NEWSYS MakeString
- X
- X GLUE MakeProp
- X MOVE.L STACKOFFSET(SP),A0
- X MOVEM.L STACKOFFSET+4(SP),D0-D1
- X NEWSYS MakeProp
- X
- X GLUE2 LinkGadget
- X MOVEM.L STACKOFFSET2(SP),A0-A1/A3
- X MOVEM.L STACKOFFSET2+12(SP),D0-D1
- X NEWSYS2 LinkGadget
- X
- X GLUE2 LinkStringGadget
- X MOVEM.L STACKOFFSET2(SP),A0-A3
- X MOVEM.L STACKOFFSET2+16(SP),D0-D3
- X NEWSYS2 LinkStringGadget
- X
- X GLUE2 LinkPropGadget
- X MOVEM.L STACKOFFSET2(SP),A0/A3
- X MOVEM.L STACKOFFSET2+8(SP),D0-D4
- X NEWSYS2 LinkPropGadget
- X
- X GLUE2 GetString
- X MOVEM.L STACKOFFSET2(SP),A0-A2
- X MOVEM.L STACKOFFSET2+12(SP),D0-D1
- X NEWSYS2 GetString
- X
- X GLUE RealTimeScroll
- X MOVE.L STACKOFFSET(SP),A0
- X NEWSYS RealTimeScroll
- X
- X GLUE TextRequest
- X MOVE.L STACKOFFSET(SP),A0
- X NEWSYS TextRequest
- X
- X GLUE GetLong
- X MOVE.L STACKOFFSET(SP),A0
- X NEWSYS GetLong
- X
- X GLUE RawKeyToAscii
- X MOVEM.L STACKOFFSET(SP),D0-D1
- X MOVE.L STACKOFFSET+8(SP),A0
- X NEWSYS RawKeyToAscii
- X
- X
- X; These routines are a little bit more work to write glue code for
- X; because they use register beyond the scratch register D0-D1/A0-A1.
- X; Therefore these registers have to be saved before values can be loaded
- X; into them.
- X
- X
- X
- X; This code was designed to minimize the overhead of the individual
- X; pieces of glue code for the individual routines. With this 'helper' code,
- X; all the glue code for each routine has to do is load the registers from
- X; the stack (no way to avoid that), push the _LVO offset onto the stack
- X; (hard to avoid doing something like that) and then branch down to this
- X; routine.
- X
- X XDEF JumpIt,StackCleanup ;Make these visible to a debugger.
- X
- XJumpIt
- X PEA StackCleanup ;Push the address of the code that restores A6.
- X MOVE.L 4(sp),-(sp) ;Push the _LVO offset further down the stack
- X MOVE.L A6,8(sp) ;so that the old value of A6 can be stored
- X ;above it.
- X MOVE.L _ReqBase,A6
- X MOVE.L D0,-(sp)
- X MOVE.L A6,D0
- X ADD.L D0,4(sp) ;Add _ReqBase to the _LVO offset so when you go
- X ;return, you'll branch to the routine.
- X MOVE.L (sp)+,D0
- X RTS
- XStackCleanup
- X MOVE.L (sp)+,A6
- X RTS
- X
- X
- X
- X;;;;; The version of this code for Aztec is really simple, since Aztec
- X;;;;; doesn't currently expect you to preserve A6.
- X;;;;
- X;;;;JumpIt
- X;;;; MOVE.L _ReqBase,A6
- X;;;; MOVE.L D0,-(sp)
- X;;;; MOVE.L A6,D0
- X;;;; ADD.L D0,4(sp) ;Add _ReqBase to the _LVO offset so when you go
- X;;;; ;return, you'll branch to the routine.
- X;;;; MOVE.L (sp)+,D0
- X;;;; RTS
- X
- X
- X
- X
- X
- X
- X
- XSureText DC.B " Ok ",0
- XCancelText DC.B "Cancel",0
- XResumeText DC.B "Resume",0
- X
- X even
- X
- X
- X GLUE SimpleRequest
- X MOVE.L STACKOFFSET(SP),A0
- X LEA STACKOFFSET+4(SP),A1
- X BRA SimpleRequest
- X
- X GLUE TwoGadRequest
- X MOVE.L STACKOFFSET(SP),A0
- X LEA STACKOFFSET+4(SP),A1
- X BRA TwoGadRequest
- X
- X
- X
- XsrRegs REG A2-A4/D2
- X
- X;----------------------------------------------------
- X public TwoGadRequest
- XTwoGadRequest:
- X;Bool=TwoGadRequest(String,Controls)
- X; A0 A1
- X
- X MOVEM.L srRegs,-(sp)
- X LEA.L SureText,A2
- X LEA.L CancelText,A3
- X BRA.S TheRequest
- X
- X public SimpleRequest
- XSimpleRequest:
- X
- X;SimpleRequest(Text,Controls)
- X; A0 A1
- X; This is just a method of telling a user something. It just calls MultiRequest
- X; with no gadgets.
- X
- X MOVEM.L srRegs,-(sp)
- X SUBA.L A2,A2
- X LEA.L ResumeText,A3
- X
- XTheRequest
- X
- X MOVE.L _ReqBase,A6 ;Load A6 from the data segment _before_ tromping on A4.
- X
- X SUB.W #TR_SIZEOF,SP ;get some temporary storage.
- X
- X MOVE.L SP,A4
- X MOVEQ #TR_SIZEOF/2-1,D2 ;because the stack is almost never clear.
- X1$ CLR.W (A4)+
- X DBF D2,1$
- X
- X MOVE.L A0,TR_Text(SP)
- X MOVE.L A1,TR_Controls(SP)
- X MOVE.L A2,TR_PositiveText(SP)
- X MOVE.L A3,TR_NegativeText(SP)
- X
- X MOVE.W #$FFFF,TR_KeyMask(SP)
- X
- X MOVE.L SP,A0
- X JSR _LVOTextRequest(A6)
- X
- X ADD.W #TR_SIZEOF,SP
- X
- X MOVEM.L (sp)+,srRegs
- X RTS
- X
- X
- X
- X END
- END_OF_FILE
- if test 5221 -ne `wc -c <'reqglue.asm'`; then
- echo shar: \"'reqglue.asm'\" unpacked with wrong size!
- fi
- # end of 'reqglue.asm'
- fi
- if test -f 'reqproto.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reqproto.h'\"
- else
- echo shar: Extracting \"'reqproto.h'\" \(642 characters\)
- sed "s/^X//" >'reqproto.h' <<'END_OF_FILE'
- X/* Prototypes for the req.library for use with Lattice. */
- X
- X#ifndef __NOPROTO
- X#ifndef __PROTO
- X#define __PROTO(a) a
- X#endif
- X#else
- X#ifndef __PROTO
- X#define __PROTO(a) ()
- X#endif
- X#endif
- X
- X
- Xvoid __stdargs SimpleRequest __PROTO((char *,...));
- Xint __stdargs TwoGadRequest __PROTO((char *,...));
- Xint __stdargs FileRequester __PROTO((struct FileRequester *));
- Xvoid __stdargs Center __PROTO((struct NewWindow *,int,int));
- Xvoid __stdargs PurgeFiles __PROTO((struct FileRequester *));
- Xint __stdargs ColorRequester __PROTO((long));
- Xint __stdargs TextRequest __PROTO((struct TRStructure *));
- Xchar __stdargs RawKeyToAscii __PROTO((long,long,APTR));
- X
- END_OF_FILE
- if test 642 -ne `wc -c <'reqproto.h'`; then
- echo shar: \"'reqproto.h'\" unpacked with wrong size!
- fi
- # end of 'reqproto.h'
- fi
- if test -f 'showoffreq.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'showoffreq.uu'\"
- else
- echo shar: Extracting \"'showoffreq.uu'\" \(11126 characters\)
- sed "s/^X//" >'showoffreq.uu' <<'END_OF_FILE'
- Xbegin 666 showoffreq
- XM```#\P`````````"``````````$```<4```"O0```^D```<42.=^_B1()`!)>
- XM^0`````L>``$1_D```&(<@`@/````EM@`B;!4<C__"E/`<@I3@'`0JP!Q'``.
- XM(CP``#``3J[^SD/Z`5IP`$ZN_=@I0`H@9@9P9&```/PF;@$4*6L`F`&\2JL`E
- XMK&=H(`^0KP`$!H````"`*4`!C"!K`*S1R-'((F@`$-/)T\D@`G(`$ADI20'0F
- XMT(%2@$)G4H`"0/_^G\!5@$)W"``@`E.`U($?L@``(`!3@E'(__8?O``@(`!3>
- XM@A^Q(``@`%'*__@B3R\)8'(I:P`Z`8QP?U*`T:P!C$'K`%Q.KOZ`0>L`7$ZN+
- XM_HPI0`'$+P`D0"`J`"1G$BQL"B`@0"(H```I00&\3J[_@B(J`"!G&B0\```#2
- XM[4ZN_^(I0`',9PKEB"!`)V@`"`"D(&P!Q"\(2&P!B"!H`"0I:``$`=!.N@SZ>
- XM3KH56G``8`0@+P`$+P`@+`&T9P0@0$Z03KH40BQX``0B;`H@3J[^8DZZ#-!*_
- XMK`'$9QHB+`',9P1.KO_<+'@`!$ZN_WPB;`'$3J[^AB`?+FP!R$S??WY.=61OA
- XM<RYL:6)R87)Y`$Y5_V!"+?]@0>W_8"E(`?Y![`-R*4@!]D'L`U0I2`'Z<`0IZ
- XM0`(.<`(Y0`(2.4`"%DAL`?!.N@I$6$]*@&<02&W_8$AZ`#1.N@OD4$]@"DAZ/
- XM`$1.N@O86$].74YU4VAO=R!O9F8@<F5Q=65S=&5R(&QI8G)A<GDN`%EO=2!S3
- XM96QE8W1E9"!T:&4@9FEL92`G)7,G+@!9;W4@9&ED;B=T('-E;&5C="!A(&9I2
- XM;&4N`"`@("`@4VEM<&QE4F5Q=65S="@I("!I<R`@82`@=&EN>2!B:70@;V8*B
- XM9VQU92`@8V]D92`@=VAI8V@@('!A<W-E<R`@82!S:6YG;&4@=&5X=`IS=')I>
- XM;F<@("AW:71H("!O<'1I;VYA;"`@<')I;G1F*"D@('-T>6QE"F9O<FUA='1ID
- XM;F<I('1O('1H92!497AT4F5Q=65S="@I(')O=71I;F4*:6X@('1H92`@;&EB@
- XM<F%R>2X@("!4:&4@(%-I;7!L95)E<75E<W0H*0IR;W5T:6YE("!C86X@(&)E:
- XM("!E87-I;'D@;6]D:69I960@=&\@9FET"GEO=7(@;W=N('!E8W5L:6%R('!U5
- XM<G!O<V5S+@!N;P``>65S`$IU<W0@=&5S=&EN9R!T:&4@='=O(&=A9&=E="!RU
- XM97%U97-T97(N``!9;W4@<F5S<&]N9&5D('=I=&@@82`G)7,G('1O('1H:7,@;
- XM<F5Q=65S=&5R+@``66]U(')E86QL>2!S:&]U;&0@=7-E(&ET+@!%>&-E;&QE]
- XM;G0@8VAO:6-E+B`@66]U(&AA=F4@9V]O9"!T87-T92X`3V@@8V]M92!O;F4L=
- XM(&UA:V4@=7`@>6]U<B!M:6YD+@I9;W4@=V]N)W0@<F5G<F5T(&-H;V]S:6YGA
- XM("=Y97,G+@``("`@("!7;W5L9"!Y;W4@=7-E('1H92!R97%U97-T97(@;&EBZ
- XM<F%R>0II;B!Y;W5R('!R;V=R86US/P``4&5R:&%P<RXN+@``3V@@>65A:"P@_
- XM9F]R('-U<F4A``!-971H:6YK<R!N;W0N`%-H;W<@;V9F('1E>'0@<F5Q=65S_
- XM=&5R+@``9F]N=',Z``!9;W4@<V5L96-T960@=&AE(&9O;G0@)R5S)RP*<VEZ-
- XM92`E9"P@<W1Y;&4@)60N``!9;W4@9&ED;B=T('-E;&5C="!A(&9O;G0N`%1H;
- XM92!D969A=6QT('1E>'0N`%1Y<&4@86YY=&AI;F<L('1H96X@:&ET(')E='5R3
- XM;BX`22=L;"!B970@>6]U('1Y<&5D.@HG)7,G+@!9;W4@9&ED;B=T(&5N=&5RO
- XM(&%N>71H:6YG(0``16YT97(@82!N=6UB97(N`%EO=2!E;G1E<F5D('1H92!NL
- XM=6UB97(@)R5L9"<N`%EO=2!D:61N)W0@96YT97(@82!N=6UB97(N``!5<V5RX
- XM(&%B;W)T(')E<75E<W1E9"X`4VAO=R!T:&4@9FEL92!R97%U97-T97(N``!3;
- XM:&]W('1H92!C;VQO<B!R97%U97-T97(N`%-H;W<@82!S:6UP;&4@=&5X="!R?
- XM97%U97-T97(N`%-H;W<@82!T=V\@9V%D9V5T(')E<75E<W1E<BX``%-H;W<@S
- XM82!T:')E92!G861G970@<F5Q=65S=&5R+@``4VAO=R!T:&4@9F]N="!R97%U)
- XM97-T97(N``!3:&]W('1H92`G9V5T('1E>'0G(')E<75E<W1E<BX``%-H;W<@5
- XM=&AE("=G970@;G5M8F5R)R!R97%U97-T97(N``!%>&ET('1H92!D96UO+@``T
- XM:6YT=6ET:6]N+FQI8G)A<GD`4F5Q=6ER97,@,2XR(&]P97)A=&EN9R!S>7-TC
- XM96TN``!G<F%P:&EC<RYL:6)R87)Y``!#;W5L9&XG="!O<&5N(&=R87!H:6-SW
- XM+@!R97$N;&EB<F%R>0!#;W5L9&XG="!O<&5N('1H92!R97$@;&EB<F%R>2X`W
- XM`$-O=6QD;B=T(&]P96X@<V-R965N+@!#;W5L9&XG="!O<&5N('=I;F1O=RX`8
- XM2'@``4ZZ!)!83TYU2'KZL$ZZ!BI83TYU2'K[ODZZ!B@B`$C!Y8%![`!0+K`8*
- XM`$AZ^]!.N@8(4$].=4Y5_]!!^OQR*TC_TI'(*TC_VD/Z_*`K2?_>0_K\I"M)$
- XM_^)#^ORP*TG_YD/Z_+8K2?_J.WP`P/_N<`$[0/_P<@`[0?_R.T#_]#M!__8K7
- XM2/_X*TC__$AM_]).N@5((@!(P>6!0>P`6"ZP&`!.N@663EU.=4Y5_V!(>OR$I
- XM2&W_8$ZZ$2Y"+?_B<`R!K`020>W_8"E(`_I![?_B*4@#_CE\``($'$AL`_1.V
- XMN@.H3^\`#$J`9R)P`#`L!&1R`#(L!&8O`2\`2&W_XDAZ_#Q.N@4V3^\`$&`*:
- XM2'K\7DZZ!2A83TY=3G5.5?^T2'K\9DAM_[5.NA"^2'@`2TAX`#)"ITAZ_&)(M
- XM;?^U3KH$<D_O`!Q*@&<02&W_M4AZ_&I.N@3H4$]@"DAZ_'A.N@3<6$].74YU[
- XM3E7_W$'Z_((K2/_>*WP```32_^(K?/_^>6#_YBM\``&&H/_JD<@K2/_R0FW_I
- XM]BM(__@K2/_\2&W_WDZZ!$)83TJ`9Q`O+?_N2'K\3DZZ!(903V`*2'K\8$ZZL
- XM!'I83TY=3G4O"R9O``A*K`'@9PP@;`'@+&P!U$ZN_[A*K`'D9PP@;`'D+&P!9
- XMU$ZN_[Y*K`'<9QY(;`'P3KH#"DAL`_1.N@,"4$\B;`'<+'@`!$ZN_F)*K`'8T
- XM9PPB;`'8+'@`!$ZN_F)*K`'49PPB;`'4+'@`!$ZN_F(@"V<(+PM.N@=@6$]"O
- XMITZZ"/!83R9?3G5(>OOD80#_<%A/3G4@;`'H(6P![`"X0J=A`/]<6$].=4Y5*
- XM_\`O`D/Z_-!P(2QX``1.KOW8*4`!U&8*2'K\SF$`_S983T/Z_.1P(2QX``1.>
- XMKOW8*4`!V&8*2'K\XF$`_QA83T/Z_/!P`"QX``1.KOW8*4`!W&8*2'K\Z&$`#
- XM_OI83T'L```L;`'43J[_.BE``>1F"DAZ_.QA`/[>6$]";?_^8'`P+?_^(@##U
- XM_`!D0>P%6-'!<@'"0,/\`4!T%-*"2,%(P$J`:@)2@.*`+T$`""("3KH)LG(\5
- XMT(%(P#(M__Y(P>>!+P`O+P`,2&P`($/L`&0O,1@`+P@O2``83KH"`D_O`!0PR
- XM+?_^(&\`!#%``"92;?_^,"W__DC`<@FP@66$.7P`%`A^,"P(@$C`(CP```*`B
- XMDH!*@6H"4H'B@3E!"'PI;`'D`#Y![``@+&P!U$ZN_S0I0`'@2H!F"DAZ_#QA]
- XM`/X86$^3R2QX``1.KO[:*4`!Z"!`*6@`N`'L(6P!X`"X(&P!X"!H`%8L>``$6
- XM3J[^@"!L`>`@:`!63J[^C"!`0^W_RG(,(MA1R?_\(D!.KOZ&(&W_YC`H`"8BE
- XM`$C!YX%![`!D('`8!$Z08+8@;P`$3.\``P`(2'C_XF```=9,[P`#``1(>/_<P
- XM8``!R$CG.#),[P`'`!PL>0```=Q.KO_63-],'$YU2.<X,DSO``<`'"QY```!F
- XMW$ZN_]!,WTP<3G5(YS@R3.\'```<+'D```'<3J[_RDS?3!Q.=2!O``1(>/^L/
- XM8``!;B`O``1(>/^F8``!8B!O``1(>/]`8``!5DCG.#(@;P`<3.\`#P`@+'D`F
- XM``'<3J[_H$S?3!Q.=4CG.#),[P<``!Q,[P`'`"@L>0```=Q.KO^:3-],'$YU<
- XM2.<X,B!O`!Q,[P`/`"`L>0```=Q.KO^43-],'$YU(&\`!$AX_XY@``#N2'C_"
- XMB&```.9,[P,!``3!B$AX_X)@``#6(&\`!$SO``,`"$AX_WQ@``#$(&\`!$SO7
- XM``,`"$AX_W9@``"R2.<X,DSO"P``'$SO``,`*"QY```!W$ZN_W!,WTP<3G5(^
- XMYS@R3.\/```<3.\`#P`L+'D```'<3J[_:DS?3!Q.=4CG.#),[PD``!Q,[P`?]
- XM`"0L>0```=Q.KO]D3-],'$YU2.<X,DSO!P``'$SO``,`*"QY```!W$ZN_UY,?
- XMWTP<3G4@;P`$2'C_6&`F(&\`!$AX_U)@'"!O``1(>/],8!),[P`#``0@;P`,'
- XM2'C_1F````)(>0``#;HO+P`$+TX`""QY```!W"\`(`[1KP`$(!].=2Q?3G4@I
- XM($]K("``0V%N8V5L`%)E<W5M90``(&\`!$/O``A@&B!O``1#[P`(8````DCGV
- XM(#A%^O_.1_K_T6`*2.<@.)7*1_K_S"QY```!W)[\`"XH3W060EQ1RO_\+H@OU
- XM20`$+TH`$"]+`!0_?/__`!P@3TZN_U+>_``N3-\<!$YU3G%.=4YU3E7_[$CG-
- XM+Q`N+P`T)F\`."@'<#'`JP`89P9P_V```G`(*P`'`!I6P$0`2(!(P"P`2JL`]
- XM%&8``(0(*P`"`!MF>G``)T``#'+_OH%G``)"+PM.N@H^6$]*@&<,".L`!0`;M
- XM</]@``(J".L``0`;2@9G#B`K`!0B`$2!)T$`#&`(("L`%"=```Q3JP`,;18@P
- XM:P`$0^@``2=)``0@!Q"`<@`2`&`2(`=R`!(`+PLO`6$`_U)03R(`(`%@``'6<
- XM""L``@`;9UAP_[Z`9@9P`&```<(@!QM`__]*!F<B<@J^@68<<@(O`4AZ`;(O9
- XM*P`<*T'_\$ZZ!Q!/[P`,*@!@&G(!+P%(;?__+RL`'"M!__!.N@;T3^\`#"H`,
- XM?O]@``#@".L``0`;2@9G4G#_OH!G3%2K``QR"KZ!9B8@:P`$0^@``2=)``00&
- XMO``-(BL`#$J!:PHO"R\`80#^KE!/4JL`#"!K``1#Z``!)TD`!"`'$(`B*P`,_
- XM2H%K``$<?O\@*P`$D*L`$"M`__!G<@@K``8`&F=22'@``D*G+RL`'$ZZ`>1/&
- XM[P`,*T#_[$H&9SA3K?_L;3)"IR\M_^PO*P`<3KH!Q$AX``%(;?_]+RL`'$ZZM
- XM"GA/[P`82JP!H&8*$"W__7(:L`%GR"\M__`O*P`0+RL`'$ZZ!A1/[P`,*@!@E
- XM`GH`</^Z@&8(".L`!0`;8`RZK?_P9P8(ZP`$`!M*!F<.(BL`%"0!1((G0@`,M
- XM8!@(*P`"`!MG"'(`)T$`#&`((BL`%"=!``P@:P`0)T@`!+Z`9RY3JP`,;18@H
- XM:P`$0^@``2=)``0@!Q"`<@`2`&`2(`=R`!(`+PLO`6$`_9!03R(`<##`JP`8C
- XM9P1P_V`,</^X@&8$<`!@`B`$3-\(]$Y=3G4-"@````````````!P84Y5__A(L
- XMYP,P)F\`("1O`"0N+P`H($I*&&;\4XB1RBP(($M*&&;\4XB1RR`((DO3P"M)E
- XM__B\AV,"+`<@!B!*8`(2V%.`9/H@;?_X0C!H`"`+3-\,P$Y=3G5(YP$0)F\`B
- XM#'X`'AM*AV<R4ZP`\FT6(&P`ZD/H``$I20#J(`<0@'(`$@!@W"`'<@`2`$ALU
- XM`.8O`4ZZ_,I03R(`8,93K`#R;18@;`#J0^@``2E)`.IP"A"`<@`2`&`02&P`O
- XMYDAX``I.NOR<4$\B`"`!3-\(@$YU``````````!P84CG#Q`N+P`8+"\`'"HO,
- XM`"`O!TZZ`X183R9`(`MF!'#_8!XO!2\&+RL`!$ZZ`:!/[P`,*`!*K`&@9P1P(
- XM_V`"(`1,WPCP3G4``````````'!A2.<#,"XO`!1*AVX&<`!@``"D<`B^@&0"D
- XM+@`@!U:`+@`"1__\1>P`O"92(`MG0"`K``2PAVTRL(=F#"!3)(B?K`#`(`M@7
- XM;B`K``20AW((L(%E%B!+T<<DB"1()),E0``$GZP`P"`+8$PD2R938+P@!R(L0
- XM`3#0@5.`3KH""B(L`3!.N@'B+`!0AB`&5H`L``)&__PO!DZZ`RY83R9`(`MG-
- XM$B\&+PM.N@;>+H=A`/]44$]@`G``3-\,P$YU``````````````````!(YP,0#
- XM+B\`$$?L`,0@"V<T""L``@`;9B@(*P`!`!MG("`K``20JP`0+`!*AF<2+P8O1
- XM*P`0+RL`'$ZZ`S)/[P`,)E-@R"\'3KH&$%A/3-\(P$YU``!(YS<0+B\`'"9O.
- XM`"`L+P`D2JP!N&<$3KH(R$*L`:`B!R0+)@8L;`H@3J[_T"H`</^Z@&8.3J[_S
- XM?"E``:!P!2E`"AP@!4S?".Q.=0``````````````````````````<&%(YS\`0
- XM+B\`'"PO`"`J+P`D2JP!N&<$3KH(:$*L`:`@!5.`(@<D!B8`+&P*($ZN_[XHF
- XM`'#_N(!F#DZN_WPI0`&@<!8I0`H<(`4,@`````)G%@R``````6<(2H!F&"`&+
- XM8!0@!-"&8`XB!W0`=@`L;`H@3J[_ODS?`/Q.=0``2.<W$"XO`!PF;P`@+"\`3
- XM)$JL`;AG!$ZZ!^Q"K`&@(@<D"R8&+&P*($ZN_]8J`'#_NH!F#DZN_WPI0`&@G
- XM<`4I0`H<(`5,WPCL3G4``"\'+B\`"$JL`;AG!$ZZ!ZHB!RQL"B!.KO_<<``N9
- XM'TYU2.<P`"0`)@%(0DA#Q,'&P,#!U$-(0D)"T(),WP`,3G5*@&H``!Y$@$J!_
- XM:@``#$2!80``($2!3G5A```81(!$@4YU2H%J```,1(%A```&1(!.=2\"2$$TK
- XM`68``")(0$A!2$(T`&<```:$P3`"2$`T`(3!,`)(0C(")!].=2\#=A`,00"`X
- XM9```!N&944,,00@`9```!NF964,,02``9```!N6954-*06L```;CF5-#-`#FJ
- XMJ$A"0D+FJDA#@,$V`#`"-`-(0<3!D()D```(4T/0@63^<@`R`TA#Y[A(0,%!A
- XM)A\D'TYU+P<N+P`(<``I0`&@2H=K(KZL`*QL'"`'YX!![`C<2K`(`&<.(`?G`
- XM@$'L"-S1P"`(8`AP"2E`"AQP`"X?3G4``````````````````$CG`#(F;`HD;
- XM(`MG%"13(DL@*P`(+'@`!$ZN_RXF2F#HD<@I2`HH*4@*)$S?3`!.=4CG`3(N+
- XM+P`4<`S>@"`'<@`L>``$3J[_.B9`(`MF!'``8#HG1P`(1>P*)"!J``0G2``$N
- XMD<@FB$J29@(DBTJJ``1G!B)J``0BBR5+``1*K`"P9@0I2P"P0>L`#"`(3-],;
- XM@$YU``````````````````!(YP<P+B\`&"9O`!PL+P`@+P=.NO\`6$\D0"`*\
- XM9@1P_V`V""H``P`#9Q!(>``"0J<O!TZZ^TA/[P`,+P8O"R\J``1.NORD3^\`&
- XM#"H`2JP!H&<$</]@`B`%3-\,X$YU``!.5?_P2.<A,B9O`"P,K````"`*:FP`5
- XM`(80$W(@L`%G#'()L`%G!G(*L`%F!%*+8.A*$V=H("P*:N6`4JP*:D'L"G+1Q
- XMP"1(<"*P$V8F4HLDBTH39PIP(K`39P12BV#R2A-F#$AX``%.N@(D6$]@GD(;6
- XM8)HDBTH39Q@0$W(@L`%G$'()L`%G"G(*L`%G!%*+8.1*$V8"8`9"&V``_W)*;
- XMK`IJ9@8@;`'$8`1![`IR*4@*;DJL"FIF?$/Z`21-[`HP+-DLV2S9+-D\D2)LC
- XM`<0@:0`D2'@`*"\H``1(;`HP3KKY9D_O``PL;`H@0>P*,"(()#P```/N3J[_S
- XMXBE`".`I0`CH<A`I00CD*4`(\"E!".SE@"M`__`L>``$D\E.KO[:(&W_\")`8
- XM(V@`"`"D?@`K0/_T8"HL;`H@3J[_RBE`".!.KO_$*4`(Z$'Z`*8B""0\```#[
- XM[4ZN_^(I0`CP?A`@!P!`@`&!K`C<(`<`0(`"@:P(Y`"L``"``PCL2JP!+&<$E
- XM<`!@!B`\``"``"X`0JP`X"`'`$```2E``-QP`2E``0(@!P!```(I0`#^<`(IC
- XM0`$D(`<`0`"`*4`!($'Z`FXI2`&X+RP*;B\L"FI.NO&B0I=.NOID3.U,A/_<+
- XM3EU.=6-O;CHQ,"\Q,"\S,C`O.#`O`"H`````````````````2.<P,BQO`#@@1
- XM;P`8(F\`'"1O`"`F;P`D("\`*"(O`"PD+P`P)B\`-$ZN_J1,WTP,3G4``"\+^
- XM)F\`"$JK`!1G#`@K``,`&V8$<`!@-B\L`31.NOD>6$\G0``$)T``$$J`9@IP\
- XM#"E`"AQP_V`6)VP!-``4<//!JP`8<``G0``,)T``""9?3G4``````````'!AN
- XM2.<'`"XO`!`@+`"L4X`L`$I&:S`@!DC`YX!![`C<*C`(`$H%9QH(!0`$9A0@(
- XM!DC`YX!![`C<+S`(!$ZZ^NA83U-&8,PO!TZZY]A83TS?`.!.=0``(F\`""!OA
- XM``0@"1#99OQ.=4Y5_^A(YP$R+B\`-$J';@9P_V```-)P"+Z`9`(N`"`'5H`N3
- XM``)'__PD;0`(("T`"-"'WZP`P$'L`+PF4"M`__`K2/_T(`MG``"0($L@*P`$/
- XMT<`K2/_L(FW_\+?)8Q`DBR5'``0L;?_T+(IP`&!XM\EF&BQ3)(X@*P`$(@#2]
- XMAR5!``0L;?_T+(IP`&!:M<AD")^L`,!P_V!.M<AF+$J39PX@4[/(8PB?K`#`S
- XM</]@.-^K``1*DV<.L]-F"B`I``31JP`$)I%P`&`>*TO_]"MM_^S_Z"938`#_Z
- XM;B!M__0@BD*2)4<`!'``3-],@$Y=3G4``$CG!S`N+P`8)F\`'"PO`"`O!TZZV
- XM^L!83R1`(`IF!'#_8!XO!B\++RH`!$ZZ^5A/[P`,*@!*K`&@9P1P_V`"(`5,C
- XMWPS@3G4``$Y5_YA(YS,"?@`@;`'0'BC__W!/OH!O`BX`(`=#[?^O8`(2V%.`+
- XM9/I"-7BO+'@`!)/)3J[^VBM`_Z8@0$JH`*QG4B(H`*SE@2)!+"D`.$CM``+_=
- XMGDJ&9@0L*`"@2H9G-"QL"B`B!D'Z`+(D"'8+3J[_T"!'4H<@"!N\``H(KRQL>
- XM"B`B!B8'0>W_KR0(3J[_T'#_8%(L>``$0_H`C'``3J[]V"M`_YIF!'#_8#I!=
- XM[?^O*4@!6"\M_YI(>``\2'@`^G``+P`O`$AL`71(;`%@2&P!3$*G3KK\_D_O&
- XM`"13@&<$</]@`G``3-]`S$Y=3G4J*B!5<V5R($%B;W)T(%)E<75E<W1E9"`J/
- XM*@``0T].5$E.544``$%"3U)4`"HJ*B!"<F5A:SH@`&EN='5I=&EO;BYL:6)R>
- XM87)Y`````````'!A+P=P`"(\```P`"QX``1.KO[.+@`"AP``,`!*AV<@2JP!W
- XMN&<:(&P!N$Z02H!F`F`.0JP!N$AX`!1.NOSJ6$\N'TYU8;Q.=0`````#[```K
- XM``$````````-G`````X````!```+X```"_H```P4```,5@``#'8```R4```,9
- XM_```#1P```T\```-7```#:H```X$````%`````H````````#\@```^H```!B"
- XM``````*``,@``P`!@```#P````````($`````````````````H``R/__````K
- XM0```&0````````````````````````````!/`!X"@`#(``\```-H```#;```Y
- XM`\8```/@```$"```!>@```&H```&`@``!Y@```8<```'I```!CH```>P```&_
- XM6```!](```9X```(1```!I(```BT```&L@``"0````;4```)^````"@`````3
- XM`````````````````````````.8`````````````````````````````````F
- XM``````````$(````````````````````````````````````````````````)
- XM``````````````````````````````````````````"`````!`````(`__\`$
- XM```.``X````````;M@````#__P````0`!``````````````!./__````!``$R
- XM````````&](`````__\````$``0````````;W`````````/L````&P``````T
- XM``&````!;````40```"H````I````*````"<````F````)0```"0````C```#
- XM`(@```"$````@````'P```!X````=````'````!L````:````&0```!@````\
- XM7````%@```!4````4````!0````#`````0```5P```#F````Q`````````/RL
- X``
- Xend
- Xsize 7920
- END_OF_FILE
- if test 11126 -ne `wc -c <'showoffreq.uu'`; then
- echo shar: \"'showoffreq.uu'\" unpacked with wrong size!
- fi
- # end of 'showoffreq.uu'
- fi
- echo shar: End of archive 1 \(of 3\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 3 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
- Mail comments to the moderator at <amiga-request@uunet.uu.net>.
- Post requests for sources, and general discussion to comp.sys.amiga.
-